package com.audaque.springboot.foshanupload.web.mbdemo.mpgt.dao;


import com.audaque.springboot.foshanupload.core.model.qo.page.Page;
import com.audaque.springboot.foshanupload.web.mbdemo.mpgt.model.kbo.SysUserMpgtKbo;
import com.audaque.springboot.foshanupload.web.mbdemo.mpgt.model.pojo.SysUserMpgtPojo;
import com.audaque.springboot.foshanupload.web.mbdemo.mpgt.model.qo.SysUserMpgtQo;

import java.util.List;

/**
 * @author yun.lu
 */
public interface SysUserMpgtDao {

    String insert(SysUserMpgtPojo pojo, Boolean ignoreDuplicateExceptionYn) throws Exception;

    void update(SysUserMpgtPojo pojo) throws Exception;

    void delete(String id) throws Exception;

    Page<SysUserMpgtPojo> queryAndCount(SysUserMpgtKbo sysUserMpgtKbo, SysUserMpgtQo sysUserMpgtQo);

    Page<SysUserMpgtPojo> queryThenCount(SysUserMpgtKbo sysUserMpgtKbo, SysUserMpgtQo sysUserMpgtQo);

    Page<SysUserMpgtPojo> queryThenCountHelper(SysUserMpgtKbo sysUserMpgtKbo, SysUserMpgtQo sysUserMpgtQo);

    Page<SysUserMpgtPojo> queryThenCountHelper2(SysUserMpgtKbo sysUserMpgtKbo, SysUserMpgtQo sysUserMpgtQo);

    Page<SysUserMpgtPojo> queryThenCountHelper3(SysUserMpgtKbo sysUserMpgtKbo, SysUserMpgtQo sysUserMpgtQo);

    List<SysUserMpgtPojo> queryList(SysUserMpgtKbo sysUserMpgtKbo, SysUserMpgtQo sysUserMpgtQo);

    SysUserMpgtPojo queryItem(SysUserMpgtKbo sysUserMpgtKbo, SysUserMpgtQo sysUserMpgtQo);

    SysUserMpgtPojo queryItem(String id) throws Exception;

    Integer count(SysUserMpgtQo sysUserMpgtQo);


}
